package com.vision.service;

import com.vision.pojo.vo.*;
import com.vision.pojo.entity.Video;

import java.util.List;

public interface VideoService {

    PageVO<Video> getVideoForPage(Integer pageNum, Integer pageSize, Integer userId, Integer state);

    void addVideo(Video video);

    Video getUnderReviewVideo();

    PageVO<ReviewVideoVO> getAllUnderReviewVideo(Integer pageNum,Integer pageSize);

    void updateReviewState(Integer state, Integer reviewProcess ,Integer videoId);

    void deleteVideo(Integer videoId);

    void updateVideo(Video video);

    PageVO<VideoAndUserVO> getVideoForPageOrderByViewCount(Integer pageNum, Integer pageSize,String title);

    PageVO<VideoAndUserVO> getVideoForPageByTagId(Integer pageNum, Integer pageSize, Integer[] tagIds);

    VideoVO getVideoById(Integer videoId,Integer userId);

    void addViewCount(Integer videoId);
}
